package com.fira.edu.mapper;

import java.util.List;
import com.fira.edu.domain.EduCourseScheduleTime;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 排课上课时间安排Mapper接口
 * 
 * @author zhushuyong
 * @date 2021-10-13
 */
public interface EduCourseScheduleTimeMapper 
{
    /**
     * 查询排课上课时间安排
     * 
     * @param id 排课上课时间安排ID
     * @return 排课上课时间安排
     */
    public EduCourseScheduleTime selectEduCourseScheduleTimeById(String id);

    /**
     * 查询排课上课时间安排列表
     * 
     * @param eduCourseScheduleTime 排课上课时间安排
     * @return 排课上课时间安排集合
     */
    public List<EduCourseScheduleTime> selectEduCourseScheduleTimeList(EduCourseScheduleTime eduCourseScheduleTime);

    /**
     * 新增排课上课时间安排
     * 
     * @param eduCourseScheduleTime 排课上课时间安排
     * @return 结果
     */
    public int insertEduCourseScheduleTime(EduCourseScheduleTime eduCourseScheduleTime);

    /**
     * 批量新增排课上课时间安排
     * @param list
     * @return
     */
    public int batchInsert(@Param("list") List<EduCourseScheduleTime> list);

    /**
     * 修改排课上课时间安排
     * 
     * @param eduCourseScheduleTime 排课上课时间安排
     * @return 结果
     */
    public int updateEduCourseScheduleTime(EduCourseScheduleTime eduCourseScheduleTime);

    /**
     * 删除排课上课时间安排
     * 
     * @param id 排课上课时间安排ID
     * @return 结果
     */
    public int deleteEduCourseScheduleTimeById(String id);

    /**
     * 批量删除排课上课时间安排
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteEduCourseScheduleTimeByIds(String[] ids);

    /**
     * 查询所有course_date为空的数据
     * @return
     */
    @Select("select id, course_schedule_id,course_date, course_start_time, course_end_time, course_week, course_hours, course_status, create_by, create_time, update_by, update_time from edu_course_schedule_time where course_date is null")
    public List<EduCourseScheduleTime> selectScheduleTimeList4NullCourseDate();
}
